package com.mcxx.modules.miniSalvation.fundpay.dao.read;

import com.mcxx.modules.miniSalvation.fundpay.dto.FundPayDTO;
import com.mcxx.modules.miniSalvation.fundpay.dto.FundPayExcelDto;
import com.mcxx.modules.miniSalvation.fundpay.dto.FundPayFamilyExcelDTO;
import com.mcxx.modules.miniSalvation.fundpay.dto.SingleRollDTO;
import com.mcxx.modules.miniSalvation.fundpay.entity.FundPayEntity;
import com.mcxx.modules.miniSalvation.fundpay.entity.SingleFundPayMemberEntity;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayFamilyParam;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayListSearchParam;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayParam;
import com.yinhai.ta404.module.mybatis.mapper.Ta404SupportMapper;

import java.util.List;

public interface SingleFundPayReadDao extends Ta404SupportMapper {

    List<FundPayEntity> getFundPayList(FundPayListSearchParam fundPayListSearchParam);


    String cntFundPay(SingleRollDTO fundPayDTO);

    int cntFamilyByCapitalAndAllowance(FundPayDTO fundPayDTO);


    List<String> countStatRoll(SingleRollDTO singleRollDTO);


    List<SingleFundPayMemberEntity> selectCapitalStatRollDetail(String payId, String bizType);


    FundPayEntity selectCapitalStatRoll(SingleRollDTO capitalFundPayDTO);


    List<String> getIdByIdsAndStates(List<String> fundPayIdList, List<String> stateList);


    FundPayEntity getById(String fundPayId);

    int getNoCompleteOrder(String fundPayId);



    List<String> getIdByIdsAndState(List<String> fundPayIdList, String state);


    List<SingleFundPayMemberEntity> selectRollDetail(SingleRollDTO singleRollDTO);


    List<FundPayExcelDto> exportFundPayList(FundPayParam param);

    List<FundPayFamilyExcelDTO> exportFundPayRollDetail(FundPayFamilyParam param);

    List<String> selectFundPayRollIs(List<String> fundPayIdList, String state);

    List<SingleFundPayMemberEntity> selectFamilyStatRollDetail(String fundPayId, String bizType);
}
